<?php

class Kd_Data_Table_Column_Serialize extends Kd_Data_Table_Column_Base {

    public function __construct() {
        parent::__construct();
        $this->setDefaultValue(array());
    }

    public function convertToDb($value) {
        if(empty($value)){
            return '';
        }
        return serialize($value);
    }

    public function convertFromDb($value){
        if(empty($value)){
            return $this->isDefaultSetted()?
                    $this->getDefaultValue():
                    array();
        }
        return unserialize($value);
    }

    public function validate($value) {
        return true;
    }

    public function getColumnType() {
        return 'serialize';
    }

    public function getParameterName() {
        return ':' . $this->getColumnName() . ':s';
    }

}